Various technologies (e.g., snapshot technology) may be used to backup data in a data storage system. Generally, in response to a request to backup a source volume in the data storage system, a storage controller selects another volume in the data storage system and configures the selected volume to store a backup of the source volume. The selected volume is referred to as a target volume.
In one existing implementation, a target volume is selected, for example, based on future use patterns predicted by models or statistics (i.e., static information). In other words, the same information is used to select a target volume each time a backup request is received, regardless of user preference or changes in the data storage system.
In another existing implementation, a target volume is selected, for example, from a set of same or similar capacity storage volumes. Typically, the target volume is selected from among these pre-configured volumes based on how closely the size of the backup data matches the amount of space available on a pre-configured volume. Unfortunately, once the target volume is selected, the selection or the size of the target volume cannot be dynamically configured later to better suit the backup request or the current state of the data storage system.
Additionally, because the target volume is selected based on the size of the backup data and amount of space available on a pre-configured volume, the resulting configuration may be inefficient with respect to workload performance, power consumption, and other considerations.
Systems and methods are needed to overcome the above-mentioned shortcomings.